计算 A = B = C

作者:Ruben Geert van den Berg,发表于 SPSS Blog

概要

使用一个简短的 COMPUTE 命令对变量进行二分化是一个极好的方法。这也是创建多变量过滤器的最快方式。

工作原理

当使用 COMPUTE A = B = C 结构时,SPSS 会评估每个个案的 (B = C) 是否为真(True)或假(False)。结果变量 A 将会是:

  • 如果 (B = C) 为真(True),则 A = 1
  • 如果 (B = C) 为假(False),则 A = 0
  • 如果由于缺失值而无法评估 (B = C),则 A 将是一个系统缺失值 (system missing value)。

一个额外的好处是,结果变量 A 非常适合与 FILTER 命令一起使用。

多重条件

可以在类似的思路中使用更复杂的条件,例如 COMPUTE FLAG = V1 GT V2 AND V3 = 5.。 这意味着:

  • 当且仅当 (V1 大于 V2) 并且 (V3 等于 5) 时,个案在 FLAG 上才会有 1。 如果 FLAG 用作过滤器(filter),则只有这些个案将保持活动状态。
  • 如果一个或两个条件不成立,则 FLAG0
  • 如果 V1V2V3 上有任何缺失值,则 FLAG 也缺失。
  • 逻辑演示如下面的 语法 (syntax) 所示。

SPSS 语法示例

***1. 创建测试数据。**
DATA LIST FREE/v1 v2.
BEGIN DATA
1 6
'' 5
3 4
4 3
5 2
6 1
END DATA.

***2. 标记 (Flag) v1 大于 (gt) 2 的个案。**
COMPUTE flag.1 = v1 GT 2.

***3. 标记 (Flag) v1 和 v2 都大于 (gt) 2 的个案。**
COMPUTE flag.2 = v1 GT 2 AND v2 GT 2.
EXECUTE.